package net.aiion.weave.spi.naming.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import net.aiion.weave.spi.naming.Context;
import net.aiion.weave.spi.naming.Contextual;

/**
 * This annotation may be used o methods to declare methods to be called in a {@link Contextual}'s lifecycle after it is
 * created, fully initialized and bound to a {@link Context}. There may be zero or more methods annotated by this
 * annotation in a {@link Contextual} . This method corresponds to the method
 * {@link Contextual#onBound(net.aiion.weave.spi.naming.Context)}.
 * 
 * @see Contextual
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({
    ElementType.METHOD
})
public @interface Bound
{
}
